Article History
 
 
 
Discussion
 
11387 views
 
65% now_its_dark
mt32 (format)
 

Roland MT-32
 

 

 
Token:
mt32
 
Point Type:
 
File Types:
 
Entry Count:
572
 
Max Filesize:
12.5mb
 
Description:
The Roland MT-32 is a sound module that was released in 1987. A MIDI driven device from a time before MIDI was completely standardized.
::|CONTENTS
  1. Capabilities
  2. Quick set up
  3. Polyphony on the MT-32
  4. MIDI Parameters on the MT-32
  5. Custom MT-32 Voices & Settings
  6. See also
The Roland MT-32 is a MIDI sound module that was released in 1987 for the low low price of $695! (Don't worry, there are emulation alternatives we'll be using here for the BotB format.) This device uses Roland's patented "LA synthesis" (Linear Arithmetic), allowing for both samples and digitally generated waveforms to be used. This architecture affords the instrument a distinct character and the iconic suite of sounds for which it is known.

It was created a few years before the General MIDI
standard, so while its functions will be familiar to you if you've worked with MIDIs before, it differs in a few key ways as well:

1) Unlike GM, which specifies at least 16 simultaneous channels, the MT-32 only uses up to 9.
2) The MT-32's maximum polyphony of 32 is tied to so-called "partials" rather than actual notes - different instrument voices use anywhere from 1 to 4 partials for a single note, so depending on your choice of voice, maximum note polyphony could be anywhere from 8 to 32.
3) The instrument/program list is in a different order than GM. This means if you try to listen to an MT-32 .mid file through some other synth or module, such as the classic MSGS on Windows, the parts won't correspond to the correct instruments. Your MIDI will likely sound totally different.


Capabilities



The sound module has 128 melodic voice patches and 1 drum patch, ordered in a way that differs greatly from General MIDI. The patches are all listed here along with their respective partial counts.

What's a partial count, you ask? The module sports a 32 partial voice polyphony overall. What this means is that the module can theoretically support up to 32 voices, but the actual polyphony depends on the voices that you use in your song. Voices range from 1 to 4 partial layers; more layers in a voice often means a more luscious sound, but at the expense of polyphony. Eight simultaneous notes from a voice that uses 4 partial layers would consume the entire polyphony of the module!

The MT-32 only supports up to 9 MIDI channels at once. By default, it is set to use channels 2-9 for melodic instruments and 10 for drums; 1 and 11-16 are unused. Though all the parts can be remapped to any midi channel, altering this requires sysex commands to be stored at the start of your midi file for it to play correctly, so it probably isn't worth the effort in most cases.

A built-in global reverb effect is applied to the sound. Tweaking the level, depth and type of the reverb/delay is accessible via the front panel of a physical MT-32 module. If you don't have one of those, SysEx can be used manually, or via an editor, as detailed in the MT-32 manual
. Modifying these settings will require an expert knowledge of MIDI as the data must be correctly placed inside your midi file, for them to take effect when the song is played.

Quick set up



Since it is unlikely that most BotBrs will actually have the physical module (it is long been discontinued and can only be obtained through auction sites), the quickest way for one to get started with composing for the MT-32 is through an emulation of the module called Munt.

Munt can be downloaded here
. To hear sound through Munt, you will need to look around for downloads of the module's PCM and control ROMs, though a Google search should suffice. (Be sure you are grabbing the ROMs for the MT-32 and not its related offshoot CM-32L.)

Another option for working with the MT-32 within your DAW of choice is MuntVsti
, a VST that utilizes Munt's emulation, through which MIDI info can be fed. You will still need to locate the MT-32 PCM and control ROMs to hear sound in the VST.

Configuring Munt
Quick outline: download Munt → download PCM and ROMs → assign PCM and ROMs → route your program's MIDI out to Munt

Once you have installed Munt on your computer, you'll want to locate the PCM and Control ROMs to get the module up and running. Upon attempting to start up the module (mt32emu-qt.exe by default), you will be prompted with a ROM Selection window. Alternatively, you can see this window under Options > Configuration. Go to the directory where you stored your PCM and Control ROMs (it's advised that you keep both in the same folder) and the program will auto-select the necessary ROMs. If the ROMs do not show up, try hitting Refresh.

Once you have the ROMs confirmed, you're ready to compose! One thing that you should verify in the Synth Properties box (accessed by clicking the Properties button below the emulated LCD display) is the MIDI Delay Mode: to ensure that your MIDIs play without any odd truncations in the beginning of your MIDI, change this option to "Process all MIDI events immediately."

Lastly, even though Munt and MuntVsti can be configured to use more than 32 partials, the real hardware does not support this, which means you should not use it for entries here. Like other BotB formats, we want our submissions to be playable on real hardware.

Setup Example - OpenMPT
With Munt running and the ROMs loaded, create a new module in OpenMPT. Navigate to View > Plugin Manager, and insert MIDI Input Output to FX01. Next, on the Instruments tab, select the MIDI plugin editor button. Select your midi controller (if applicable) as the input device, and set the output device to MT-32. If OpenMPT is successfully connected, you should see a notification popup or simply a line item within Munt showing OpenMPT as the MIDI input. You're good to go! Now back on the Instruments tab select MIDI channel 2-10 as desired, and map to the desired instruments in the MIDI program box.

Setup - FL Studio
If you happen to use FL Studio, BotB's own MelonadeM has created a template
for use with MuntVsti or Munt, as well as a helpful setup image
. The idea is to use multiple MIDI Out channels set to a chosen port (in her case, 5) that matches a port number chosen for one instance of MuntVsti or Munt, as shown in the linked image.


Polyphony on the MT-32



The most important thing to keep in mind with this format is the 32-partial polyphony restriction, which is easy to brush up against. Your choice of voices can make a huge difference, especially where chords are concerned. If you consult with the list of MT-32 patches, you will notice that many instruments have several variations that use different numbers of partials - take patches 79-82 for example, Saxophone 1 through 4. There are options that use 4, 3, 2, and even 1 partials. You may want to utilize the versions with lower partial counts in your piece.

In most cases, only the initial attack of the note will utilize the full partial count. If the note is held, most of the time the partial count will reduce. (For example, Saxophone 1 uses four partials, but the fourth goes away immediately, and the third goes away fairly quickly too. The held note only continues to consume two partials.) Many patches have a "release envelope" equivalent too, where one or more partials are left ringing for some period of time (like a bell), even after the note has stopped. This can be particularly dangerous with fast arpeggios on some patches.

In both Munt and MuntVsti, you can keep an eye on the polyphony consumption and identify when potential problems occur. In MuntVsti, an Active Partial count is given at the top-left of the VST interface. Try soloing a single instrument to see how many partials it uses and for how long. The most extreme example is patch 37 "Soundtrack", which even after release will eat up partials for several more seconds.

Munt allows you to view the polyphony status under the "Partial State" section, with more detail than the VST:
* A red square indicates an active note that is currently in its sample-based attack state.
* A yellow square indicates an active note that is currently in its synthesized decay or sustain state.
* A green square indicates a note that is currently in its release state.

So what happens if you exceed the maximum polyphony of the device? Sounds will drop out unintentionally and/or abruptly cut off; though the inner workings of the device are a bit arcane in this regard, there are a few things you can keep in mind:
* Similarly to MSGS, the notes with the highest priority will be in the first melodic channel (i.e. channel 2), then the second channel, and so on. This means that notes in the last few melodic channels will be more likely to be cut; it's best to put the most important stuff in the earlier channels to ensure that content doesn't get cut. The drum channel, however, does not maintain the lowest priority of all; it will be prioritized over the later melodic channels. (Where exactly is uncertain...)
* Notes with very high velocities may still take precedence over others.
* Be careful with triggering very many notes all at the same time. You may need to slightly offset them.

It is possible to redefine the partial assignments for each part/channel with sysex, but setting this up should only be attempted if you are comfortable working with this data & integrating it correctly into your midi file.

Compared to MSGS MIDI, it is more difficult to create duplicate channels for "delay" effects or instrument doubles. Choose your patches carefully if you wish to try this!


MIDI Parameters on the MT-32



Note velocity (i.e. how loud the note will be) on the MT-32 follows a somewhat different formula than MSGS (and different from XG as well). The lowest velocities do not get as quiet as one would expect, and their differences are very slight. The loudest velocities meanwhile make a significant difference.

A few "MIDI CCs" are available - CCs, aka "Control Changes", are simply a 0-127 value that is used to control a chosen parameter. The parameter being affected is chosen by the "CC number".

Stereo panning can be utilized on the MT-32 (via MIDI CC#10). It is notably reversed from what would become the usual GM implementation; a value of 0 pushes the sound all the way towards the right. Panning is less granular than the values 0-127 would imply; only a few positions exist on either side.

Pitch bend doesn't have any more complicated implementation. Notably though, at least one patch (37 Soundtrack) doesn't respond to pitch bend at all. Like MSGS, there is no "portamento/pitch slide" CC; you will have to pitch bend the desired amount away from the note to achieve the pitch slide effect.

Channel volume (CC#7) and the related CC#11 Expression (which is a percentage of Volume) can be used to change the levels of sound in any given channel. Not all patches will respond to this in the middle of a note; some will only apply the change after a new note is triggered. CC#11 is only applied to the volume of a note when the note is in the sustain phase and when the sustain level of the partial(s) is relatively high. Because of this, CC#11 works fine on organ timbres but not on piano timbres.

CC#1 Modulation can be used in much the same way as other MIDI implementations to enable a certain depth of auto-vibrato.

As with MSGS and XG, a combination of CCs can be used to control the Pitch Bend Range of any channel. Set both CC#100 and CC#101 to 0, then use CC#6 to control the pitch bend range; values 0-24 correspond to maximum semitones, with the default being 12 (one octave). The MT-32 responds to pitch events up to +/- 1200 cents, which is normally also one octave. This setting alters how a "cent" is interpreted by the synth, meaning -100 (down a semitone) will no longer be down a semitone, but potentially more (if CC#6 > 12) or less (if CC#6 < 12). Greater values than 24 for CC#6 remain at a bend range of 24.


Custom MT-32 Voices & Settings



It is possible to create totally new and unique voices or modify the existing ones via MIDI System Exclusive messages (SysEx) using an external editor.

The MT-32 is a surprisingly deep and highly editable instrument, but relies entirely on software for this task. Consequently, there were many editors released when it was a contemporary product, but nearly all of them are for legacy computers/OS's such as Atari ST, X68000, early Macintosh and DOS.

Of these numerous options from the past, only SoundDiver and one or two others will still run natively on a present-day OS. SoundDiver is currently the best option, as it provides complete access to all parameters, clearly visualizes the voice architecture and has a *relatively* modern UI.

This has been utilized many times by BotBr now_its_dark; if you want to hear some of the sorts of sounds that could be created, check out their MT-32 works!

now_its_dark has also written a thorough guide to designing MT-32 patches and working with SoundDiver, which you can find here: Custom MT-32 Voice Guide


See also



- Munt
(including source code!)
- MuntVsti

- Specification of General MIDI and Roland MT-32 patches - Lists all MT-32 patches and their respective partial counts. Likewise for channel 10 percussion instruments.
- Mel's MIDI Patches List
- Another way to view the MT-32 patch list with partial counts; color coded and sortable by partial count!
- MT-32 Owner's Manual
(text searchable version here
)
- MIDI
- midi (format) - The article for BotB's MSGS MIDI format.
- SoundDiver
- Create your own sounds! Learn how here!
- List of computer games that utilized the MT-32

- Retrospective on the MT-32 w/ some nice scanned ephemera @ DTM Station (jp)

 
C A T E G O R I E S
 
 
Battle Formats
 
 
Linux
 
 
Mac
 
 
Win32